package com.lanzx.gulimall.search.vo;

import lombok.Data;

import java.util.List;

/**
 * 检索条件分析：
 *      1、 全文检索： skuTitle  ==>  keyword
 *      2、 排序：    saleCount【销量】 、 hotScore 【热度评分】、 skuPrice 【价格】
 *      3、 过滤：    hasStock 、 skuPrice区间 、 brandId 、 catalog3Id 、 attrs
 *      4、 聚合：    attrs
 *
 * 完整查询参数
 * keyword=小米&sort=saleCount_desc/asc&hasStock=0/1&skuPrice=400_1900&brandId=1$catalog3Id=1
 * &attrs=1_3G:4G:5G&attrs=2_骁龙845&attrs=4_高清屏
 *
 * @author: lanzx
 * @description: 封装页面所有可能传递的检索条件
 * @date: 2021/1/7 15:14
 */
@Data
public class SearchParam {

    /**
     * 页面传递的检索参数，全文匹配关键字
     */
    private String keyword;

    /**
     * 3 级分类 Id
     */
    private Long catalog3Id;

    /**
     * 排序条件
     * saleCount_desc/asc
     * skuPrice_desc/asc
     * hotScore_desc/asc
     */
    private String sort;

    /**
     * 过滤条件
     * hasStock 【是否有货】 、 skuPrice区间 、 brandId 、 catalog3Id 、 attrs
     */
    /**
     * 是否只显示有货
     * 0： 否
     * 1： 是
     */
    private Integer hasStock;
    /**
     * 价格区间
     * 1_500: 1~500 之间
     * _500： 500 以下
     * 500_： 500 以上
     */
    private String skuPrice;
    /**
     * 品牌 Id  允许多选
     */
    private List<Long> brandId;
    /**
     * 商品属性 允许多选
     * ["1_3G:4G:5G","3_其他:安卓"]
     */
    private List<String> attrs;

    /**
     * 分页信息 ~ 页码
     */
    private Integer pageNum;

}
